home *** CD-ROM | disk | FTP | other *** search
/ Freelog 117 / FreelogNo117-OctobreNovembre2013.iso / Musique / UniversalPatchFinder / UniversalPatchFinder-1.5.exe / {app} / createDb.sql next >
Text File  |  2012-11-14  |  3KB  |  81 lines

  1. CREATE TABLE [Library] (
  2.   [Id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
  3.   [Name] VARCHAR NOT NULL, 
  4.   [Path] VARCHAR NOT NULL, 
  5.   [Wallpaper] VARCHAR, 
  6.   [Type] INTEGER NOT NULL DEFAULT 0);
  7.  
  8.  
  9. CREATE TABLE "LibraryMenuItem" (
  10.   [Id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
  11.   [Type] INTEGER NOT NULL, 
  12.   [LibraryId] INTEGER NOT NULL REFERENCES [Library]([Id]) ON DELETE CASCADE, 
  13.   [Path] VARCHAR NOT NULL);
  14.  
  15.  
  16. CREATE TABLE [Patch] (
  17.   [Id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
  18.   [LibraryId] INTEGER NOT NULL REFERENCES [Library]([Id]) ON DELETE CASCADE, 
  19.   [Type] CHAR NOT NULL, 
  20.   [Path] VARCHAR NOT NULL, 
  21.   [Note] INTEGER NOT NULL DEFAULT 0, 
  22.   [CRC32] INTEGER);
  23.  
  24.  
  25. CREATE TABLE [PatchAttribute] (
  26.   [Id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
  27.   [Name] VARCHAR NOT NULL, 
  28.   [Type] INTEGER NOT NULL, 
  29.   [UseDomainValues] BOOLEAN NOT NULL DEFAULT True);
  30.  
  31. CREATE UNIQUE INDEX [UniqueNameIndex] ON [PatchAttribute] ([Name]);
  32.  
  33.  
  34. CREATE TABLE [PatchAttributeDomainValue] (
  35.   [Id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
  36.   [AttributeId] INTEGER NOT NULL REFERENCES [PatchAttribute]([Id]) ON DELETE CASCADE, 
  37.   [StrValue] VARCHAR, 
  38.   [IntValue] INTEGER, 
  39.   [floatValue] DECIMAL);
  40.  
  41. CREATE UNIQUE INDEX [UniqueFloatValue] ON [PatchAttributeDomainValue] ([AttributeId], [floatValue]);
  42.  
  43. CREATE UNIQUE INDEX [UniqueIntValue] ON [PatchAttributeDomainValue] ([AttributeId], [IntValue]);
  44.  
  45. CREATE UNIQUE INDEX [UniqueStrValue] ON [PatchAttributeDomainValue] ([AttributeId], [StrValue]);
  46.  
  47.  
  48. CREATE TABLE "PatchAttributeInstance" (
  49.   [Id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
  50.   [AttributeId] INTEGER NOT NULL REFERENCES [PatchAttribute]([Id]) ON DELETE CASCADE, 
  51.   [IntValue] INTEGER, 
  52.   [StrValue] VARCHAR, 
  53.   [FloatValue] DECIMAL, 
  54.   [DateValue] INTEGER, 
  55.   [PatchId] INTEGER NOT NULL REFERENCES [Patch]([Id]) ON DELETE CASCADE, 
  56.   [BoolValue] BOOLEAN, 
  57.   [DomainValueId] INTEGER REFERENCES [PatchAttributeDomainValue]([Id]) ON DELETE CASCADE);
  58.  
  59. CREATE UNIQUE INDEX [UniqueDateValueByPatch] ON "PatchAttributeInstance" ([DateValue], [AttributeId], [PatchId]);
  60.  
  61. CREATE UNIQUE INDEX [UniqueFloatValueByPatch] ON "PatchAttributeInstance" ([FloatValue], [AttributeId], [PatchId]);
  62.  
  63. CREATE UNIQUE INDEX [UniqueIntValueByPatch] ON "PatchAttributeInstance" ([IntValue], [AttributeId], [PatchId]);
  64.  
  65. CREATE UNIQUE INDEX [UniqueStrValueByPatch] ON "PatchAttributeInstance" ([Id], [AttributeId], [PatchId]);
  66.  
  67. CREATE UNIQUE INDEX [UniqueDomainValueByPatch] ON "PatchAttributeInstance" ([AttributeId], [DomainValueId], [PatchId]);
  68.  
  69.  
  70. CREATE TABLE [Tag] (
  71.   [Id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
  72.   [Name] VARCHAR NOT NULL);
  73.  
  74.  
  75. CREATE TABLE [TagLibraryAssoc] (
  76.   [TagId] INTEGER NOT NULL, 
  77.   [LibraryId] INTEGER NOT NULL REFERENCES [Library]([Id]) ON DELETE CASCADE, 
  78.   CONSTRAINT [sqlite_autoindex_TagLibraryAssoc_1] PRIMARY KEY ([TagId], [LibraryId]));
  79.  
  80.  
  81.